The present invention relates generally to digital images and more particularly to color cast detection and removal in digital images.
Digital Still Cameras (DSC) have significant limitations in color representation because little is known about the scene illuminants during a scene capture except for an overall exposure measurement. Many attempts to estimate the scene illuminants have been reported in the literature. The simplest approach, called the gray world approximation, assumes that the average of all surface reflectances in a scene is gray. It follows from this assumption that if any average color remains after reflecting from an average gray surface, it must be the color of the illumination. When scenes are encountered where the gray world approximation is not valid, then its use typically causes color casts in the resulting images. To achieve better results, more sophisticated algorithms for the estimation of the illuminant were developed. The most widely used color correction method is the Von Kries transformation. The red-green-blue, or RGB, values of an image are divided by the estimated illumination and then multiplied by the RGB values of a reference illumination. Other illumination estimation methods involve measuring specific color regions where ensemble averages are gathered and then classified upon various forms of chromaticity charts. Using numerous color distance metrics, these estimation methods search for dominant color skews away from the gray world approximation to predict the scene illumination.
DSC manufacturers typically invoke elements from several methods in the method known as White Balance (WB). The goal of WB is to produce an image where white objects appear white, and the visual affects of non equi-energy illuminants are minimized. When WB is not properly attained, distinct color casts result in the image (for example, a yellow color cast in digital still images when late afternoon sun was present). The WB task typically starts with a Von Kries correction, applied to all the pixels of the image, which balances the amplifier gains for the RGB sensor array based on some illumination estimation assumption from the methods previously mentioned. In addition, an ad-hoc adjustment typically is made to force an image""s maximum luminance value to pure white (e.g., R=G=B=1.0). Some cameras also adjust the minimum luminance to set the black point to an equal energy level (e.g., R=G=B≅0.01) that is not absolute black. For well-lit outdoor scenes, most DSC cameras have the black point set to absolute black (R=G=B=0.0), usually because of exposure considerations. The movement of image white point and black point regions towards pre-defined goals (usually with associated tone controls) typically produces pleasing peak highlight and shadow areas. However, it provides no additional compensation for the majority of pixel information contained in the xc2xc to xc2xe color tones. The resulting images can show significant color casts in over half an image. Since the image white point (and possibly the black point) is altered in a very nonlinear way during image capture, only limited illuminant information remains in the camera data available for post-processing.
If the original image white and black points were left unaltered during image capture, it is possible to rotate the image color space so that the core line joining the white to the black point permits this core line to be aligned with the achromatic axis.
Referring now to FIG. I (PRIOR ART), therein is shown schematically the prior art color cast detection and removal method, called the xe2x80x9cgray axis realignmentxe2x80x9d method 10, described above in a L*a*b* color space, where xe2x80x9cLxe2x80x9d is the luminance value on a L* luminance or achromatic axis 12 and xe2x80x9ca*xe2x80x9d and xe2x80x9cb*xe2x80x9d are chrominance values on a* and b* chrominance axes 14 and 16, respectively. An original image has a white point 17, a black point 18, and a core line 20 extending from the white point 17 to the black point 18. An arrow 22 indicates a rotation of the core line 20 to line up with the achromatic axis 12 with relocated white point 22 and relocated black point 24. A cylindrical neutral-color core 28 indicates what remains after the core line 20 rotation.
This method assumes the scene peak illuminant area is really an achromatic highlight xe2x80x94a fact that is borne out in most real life photographs. However, some professional cameras have a special purpose manual white balance mode that does not adjust the peak illuminant pixels to a pure white. Data was captured in this method from a MacBeth Spectralight III booth under various illuminant conditions (D50, D65, Cool White fluorescent, Horizon daylight, U30 fluorescent, and incandescent A). A simple post-data capture algorithm rotated the core line 20 extending from the white point 17 to the black point 18 in L*a*b* color space until it was on the achromatic axis 12. The results showed a marked decrease in image color cast as measured by the achromatic purity of the MacBeth Color Chart gray patches contained in the test samples under the various illuminants. Unfortunately, the gray axis realignment method is critically dependent on knowing the chromaticity of the highest illuminant point in the image. Small changes about the white point 17 produce visually noticeable effects in the near-neutral-colors for the rest of the image although the placement of the black point 18 was not nearly as critical since little chromatic content was found in the cameras examined.
The present invention provides a method of color cast detection and removal of a color image consisting of color pixels. A color space having an achromatic axis is provided with a default gray radius, which is used for establishing bins of neutral color in a chromatic plane. The bins are populated with the pixels based on pixel chromaticity. A color histogram is computed with chromaticity peaks for the pixels in the bins within the default gray radius. The default gray radius is adjusted to a gray radius based on the chromaticity peaks in the color histogram. The color cast is detected from a dominant chromaticity peak within the gray radius and color cast distance from the distance thereof from the achromatic axis. The color cast is removed from the pixels by subtracting the color cast distance from the color image in the color space and outputting a color cast removed color image.
The present invention provides a method of color cast detection and removal of a color image consisting of color pixels. A color space having an achromatic axis is provided with a default gray radius, which is used for establishing bins of neutral color in a chromatic plane. The bins are populated with the pixels based on pixel chromaticity. A color histogram is computed with chromaticity peaks for the pixels in the bins within the default gray radius. The default gray radius is adjusted to a gray radius based on the chromaticity peaks in the color histogram. The color cast is detected from a plurality of chromatic peaks in the same chromatic quadrant within the gray radius and color cast distance from the mean average distance thereof from the achromatic axis. The color cast is removed from the pixels by subtracting the color cast distance from the color image in the color space and outputting a color cast removed color image.
While the gray axis realignment method works well for conditions where the peak image illuminant pixels are not adjusted, it has little real world application since most DSC devices alter the brightest pixels of an image in some way. The color cast detection and removal method of the present invention overcomes this limitation by examining the chromaticity of large contiguous, nearly gray objects distributed throughout the image.
The above and additional advantages of the present invention will become apparent to those skilled in the art from a reading of the following detailed description when taken in conjunction with the accompanying drawings.